Переключатели

Различают два вида переключателей - зависимые Radio Buttons и независимые Checkbox. Независимый переключатель, который также называется флажком, представляет собой небольшой квадратный элемент, внутри которого может быть помещена галочка, что соответствует состоянию True и означает, что флажок установлен. Отсутствие галочки говорит о том, что флажок сброшен, и соответствует значению False.

Независимые переключатели имеют свойства, приведенные ниже.

Form. Позволяет обратиться к родительской по отношению к переключателю форме, что дает возможность получить доступ к ее свойствам.

Name. Данное свойство возвращает имя, определенное атрибутом NAME тега <INPUT>. Если атрибут Name не задан, то при обращении к свойству Name будет возвращена пустая строка. Данное свойство предназначено только для чтения.

Value. Это свойство возвращает строку, определенную атрибутом VALUE тега <INPUT> и доступно как для чтения, так и для редактирования.

Checked. Данное свойство является ключевым, поскольку задает состояние флажка. Значение свойства имеет тип Boolean. Установленному флажку соответствует True, а сброшенному -False. Checked можно использовать не только для чтения. Установленное программно, оно является эквивалентом щелчка пользователя на флажке.

Как и кнопочные встроенные элементы, флажок поддерживает одно событие - OnClick и один метод - Click. Событие OnClick возникает при щелчке пользователя на флажке. При вызове метода Click это событие не генерируется. Сам флажок меняет свое положение на противоположное. Например, приведенный ниже фрагмент кода, меняет состояние флажка на обратное без вызова обработчика события OnClick:
Document.TestForm.TestCheck.Click

В примере (листинг 1) продемонстрирована работа с независимыми переключателями. На Web-странице приведены семь флажков и три кнопки. При выборе первой кнопки Set Check Boxes in True все переключатели примут значение True. Если пользователь нажмет вторую кнопку ,Set Check Boxes in False, флажки сбросят свои значения. В случае если пользователь установит лишь некоторые из переключателей в положение "включен", нажатие третьей кнопки Find selected Check Boxes позволит вывести окно сообщения, отображающее все выбранные пользователем флажки.

Листинг 1.Работа с независимыми переключателями

Под зависимыми переключателями понимают группу небольших элементов в виде окружностей, лишь один из которых может быть выбран. Это означает, что, выбирая тот или иной элемент из группы зависимого переключателя, пользователь исключает и другие. В случае, когда пользователю должна быть предоставлена возможность выбора нескольких вариантов, следует использовать флажки.

Чтобы предоставить броузеру информацию о том, какие элементы входят в состав группы зависимых переключателей, им следует задать одинаковые имена. Выбранный пользователем элемент сразу становится активным, а переключатель, которым был активным прежде, также изменит свое состояние - станет пассивным.

Следует отметить, что ввиду наличия нескольких одинаковых имен у зависимых переключателей к ним невозможно обращаться как элементам, рассмотренным выше. Это привело бы к неоднозначности, связанной с неконкретностью обращения. Поэтому при работе с зависимыми переключателями с ними нужно опсрм ровать как с элементами массива.

Чтобы определить, какой из переключателей установлен, необходимо их проверить поочередно.

Зависимые переключатели имеют те же свойства, что и независимые.

Checked. Дает возможность определить, выбран ли переключатель. Это свойство имеет тип Boolean, оно доступно как для чтения, так и для изменения. Необходимо отметить, что для программного выбора другого переключателя ему необходимо установить значение True в свойство Checked. Это приведет к автоматическому присваиванию значения False свойству Checked всех других переключателей. Однако при изменении значения переключателя возможно возникновение ошибки, связанное с его непреднамеренным включением. Дело в том, что VBScript устанавливает переключатель в состояние True при любой попытке присвоить свойству Checked какое-либо значение. Эту особенность следует учитывать при изменении положения переключателей. В то же время определение значения свойства Checked не отражается на состоянии переключателя. Это означает, что строка
Document.TestForm.Elements(0).Checked=False
приводит к включению переключателя в отличие от строки
str=Document.TestForm.Elements(0).Checked.

По аналогии с независимыми переключателями, зависимыми поддерживают только одно событие - OnClick и один метод Click.

При программном вызове метода Click событие OnClick не генерируется. Это событие возникает при щелчке на переключателе.

Следует отметить, что при работе с зависимыми переключателями обработчик события OnClick нельзя называть по совокупности имени элемента и названия события. Это связано с тем, что зависимые переключатели одной группы имеют общее имя. Вместо этого обработчик события OnClick должен быть выполнен по аналогии с примером, приведенным в листинге 2. При выборе переключателя происходит смена фонового цвета. Нажатие кнопки Default приводит к возврату страницы к исходному виду. Параметр IndexR передается обработчику и позволяет определить, на каком переключателе был выполнен щелчок.

Листинг 2.Работа с зависимыми переключателями

Вызов метода Click имитирует щелчок на переключателе, однако свойство Checked не устанавливается в True. Поэтому для имитации щелчка нужно вначале присвоить True свойству Checked, а уже затем вызвать метод Click. Однако если в приведенном примере изменить часть листинга таким образом, чтобы процедура DefaultB_OnClick выглядела как приведено ниже, то при нажатии кнопки Deafult фон все равно будет оставаться красным, поскольку будет получена полная имитация щелчка мышью на мерхнем переключателе.
Sub DefaultB_OnClick
Document.BgColor = "White"
Document.Forms(0).Elements(O).Checked =True
Document.Forms(0).Elements(0).Click
End Sub

возврат

Хостинг от uCoz